import 'package:flutter/material.dart';
import 'package:flutter_09_game/base/widget/base_list_more_get_builder.dart';
import 'package:flutter_09_game/config/app_color.dart';
import 'package:flutter_09_game/generated/assets.dart';
import 'package:flutter_09_game/generated/locales.g.dart';
import 'package:flutter_09_game/pages/profile/profile_bet_record/models/model_game_round_join.dart';
import 'package:flutter_09_game/pages/profile/profile_bet_record/utils_bet_record.dart';
import 'package:flutter_09_game/pages/profile/profile_bet_record/widgets/widget_bet_record_dropdown.dart';
import 'package:flutter_09_game/pages/profile/profile_bet_record/widgets/widget_bet_record_dropdown_game.dart';
import 'package:flutter_09_game/pages/profile/profile_bet_record/widgets/widget_bet_record_top_crypto.dart';
import 'package:flutter_09_game/pages/profile/profile_bet_record/widgets/widget_game_stats.dart';
import 'package:flutter_09_game/pages/profile/profile_bet_record/widgets/widget_bet_record_item.dart';
import 'package:flutter_09_game/widgets/btn_dropdown.dart';
import 'package:flutter_09_game/widgets/empty/empty_no_data.dart';
import 'package:flutter_09_game/widgets/image/auto_image.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'profile_bet_record_game_logic.dart';

class ProfileBetRecordGamePage extends StatelessWidget {
  ProfileBetRecordGamePage({super.key});

  final ProfileBetRecordGameLogic logic = Get.put(ProfileBetRecordGameLogic());

  @override
  Widget build(BuildContext context) {
    return BaseListMoreGetBuilder<ProfileBetRecordGameLogic>(
        bodyTopViewBuilder: (_) {
      // return Column(
      //   children: [
      //     // WidgetBetRecordTopCrypto(
      //     //     selectorTagRx: logic.selectorTagRx,
      //     //     options: UtilsBetRecord.options),
      //     _buildTopBuilder(),
      //   ],
      // );
      return Obx(() {
        return WidgetBetRecordDropdownGame(
          teamRows: UtilsBetRecord.options,
          teamRx: logic.selectorTagRx,
          statusRows: UtilsBetRecord.statusRows,
          timeRows: UtilsBetRecord.timeRows,
          timeRx: logic.timeRx,
          statusRx: logic.statusRx,
          gameRows: logic.gameRows,
          gameRx: logic.gameRx,
          editingController: logic.codeController,

          userEditingController:
              UtilsBetRecord.options.indexOf(logic.selectorTagRx.value) == 0
                  ? null
                  : logic.userIdController,
          onRequestRefresh: (value) {
            logic.refreshController.requestRefresh();
          },
          onTimeSelection: (value) {
            logic.updateTimeSelection(value);
          },
        );
      });
    }, headerBuilder: (_) {
      return Visibility(
          visible: (logic.roundJoin.stats ?? []).isNotEmpty,
          child: WidgetGameStats(
            stats: logic.roundJoin.stats ?? [],
          ).marginOnly(top: 16.w, left: 16.w, right: 16.w)
          // showTRX: joinType == 2,
          );
    }, builder: (_) {
      // bool showHeader = (logic.roundJoin.stats ?? []).isNotEmpty;
      // return CustomScrollView(
      //   slivers: [
      //     SliverPadding(
      //       padding: showHeader
      //           ? EdgeInsets.symmetric(
      //         horizontal: 16.w,
      //       ).copyWith(top: 16.w)
      //           : EdgeInsets.zero,
      //       sliver: SliverToBoxAdapter(
      //           child: Visibility(
      //             visible: showHeader,
      //             child: WidgetGameStats(
      //               stats: logic.roundJoin.stats ?? [],
      //               // showTRX: joinType == 2,
      //             ),
      //           )),
      //     ),
      return logic.list.isNotEmpty
          ? SliverPadding(
              padding:
                  EdgeInsets.only(bottom: 16.w + ScreenUtil().bottomBarHeight),
              sliver: SliverList.builder(
                itemCount: logic.list.length,
                itemBuilder: (context, index) {
                  final item = logic.list[index];

                  return WidgetBetRecordItem(
                    data: item,
                    isPage: false,
                  );
                },
              ))
          : SliverToBoxAdapter(
              child: SizedBox(
                width: 1.sw,
                child: Padding(
                  padding: EdgeInsets.only(top: 108.w),
                  child: EmptyNoData.notDataView(),
                ),
              ),
              // )
              // ],
            );
    });
  }


  // Widget _buildTopBuilder() {
  //   return Container(
  //     padding: EdgeInsets.all(16.w).copyWith(bottom: 24.w),
  //     decoration: BoxDecoration(
  //       color: AppColor.navBgColor,
  //       borderRadius: BorderRadius.only(
  //         bottomLeft: Radius.circular(30.w),
  //         bottomRight: Radius.circular(30.w),
  //       ),
  //     ),
  //     child: Obx(() {
  //       return Column(
  //         children: [
  //           _buildTopDropdown(UtilsBetRecord.options,
  //               value: logic.selectorTagRx.value,
  //               width: 1.sw - 32.w,
  //               btnColor: AppColor.primary, onChanged: (value) {
  //             logic.selectorTagRx.value = value;
  //           }),
  //           4.verticalSpaceFromWidth,
  //           Row(
  //             children: [
  //               Expanded(
  //                   child: _buildTopDropdown(logic.gameRows,
  //                       value: logic.gameRx.value, onChanged: (value) {
  //                 logic.gameRx.value = value;
  //               })),
  //               4.horizontalSpace,
  //               Expanded(
  //                   child: _buildTopDropdown(UtilsBetRecord.statusRowsNoing,
  //                       value: logic.statusRx.value, onChanged: (value) {
  //                 logic.statusRx.value = value;
  //               })),
  //               4.horizontalSpace,
  //               Expanded(
  //                   child: _buildTopDropdown(UtilsBetRecord.timeRows,
  //                       btnColor: AppColor.primary,
  //                       value: logic.timeRx.value, onChanged: (value) {
  //                 // logic.updateTimeSelection(value);
  //                 logic.updateTimeSelection(value);
  //                 // updateTimeSelection
  //               })),
  //             ],
  //           ),
  //           4.verticalSpaceFromWidth,
  //           Row(
  //             children: [
  //               Expanded(
  //                   child: _buildInputView(
  //                       logic.userIdController, LocaleKeys.memberId.tr)),
  //               4.horizontalSpace,
  //               Expanded(
  //                   child: _buildInputView(
  //                       logic.codeController, LocaleKeys.betOrderNumber.tr)),
  //             ],
  //           )
  //         ],
  //       );
  //     }),
  //   );
  // }
  //
  // Widget _buildInputView(TextEditingController controller, String hintText) {
  //   return Container(
  //     padding: EdgeInsets.symmetric(horizontal: 6.w, vertical: 6.5.w)
  //         .copyWith(left: 12.w),
  //     decoration: BoxDecoration(
  //         border: Border(
  //             bottom: BorderSide(
  //                 color: AppColor.textPrimary.withOpacity(0.15), width: 1)),
  //         color: Colors.black.withOpacity(0.3),
  //         borderRadius: BorderRadius.circular(8.w)),
  //     child: Row(
  //       children: [
  //         Expanded(
  //             child: TextField(
  //           controller: controller,
  //           maxLength: 30,
  //           style: TextStyle(
  //             fontSize: 14.sp,
  //             fontWeight: FontWeight.w500,
  //             color: AppColor.textPrimary.withOpacity(0.94),
  //           ),
  //           decoration: InputDecoration(
  //             border: InputBorder.none,
  //             enabledBorder: InputBorder.none,
  //             focusedBorder: InputBorder.none,
  //             disabledBorder: InputBorder.none,
  //             errorBorder: InputBorder.none,
  //             focusedErrorBorder: InputBorder.none,
  //             counterText: '',
  //             hintText: hintText,
  //             isDense: true,
  //             // 紧凑布局，有助于垂直对齐
  //             hintStyle: TextStyle(
  //               fontSize: 14.sp,
  //               fontWeight: FontWeight.w400,
  //               color: AppColor.textPrimary.withOpacity(0.5),
  //             ),
  //             contentPadding: EdgeInsets.zero, // 调整内边距
  //           ),
  //           onSubmitted: (text) {
  //             // onRequestRefresh.call(text);
  //             // logic.refreshController.requestRefresh();
  //           },
  //         )),
  //         GestureDetector(
  //           onTap: () {
  //             // onRequestRefresh.call(editingController.text);
  //             logic.refreshController.requestRefresh();
  //           },
  //           child: AutoImage(
  //             Assets.commonSearchBtn,
  //             width: 32.w,
  //           ),
  //         )
  //       ],
  //     ),
  //   );
  // }
  //
  // Widget _buildTopDropdown(List<String> items,
  //     {required String value,
  //     required Function(String) onChanged,
  //     double? width,
  //     Color? btnColor}) {
  //   return BtnDropdown(
  //       items: items,
  //       value: value,
  //       width: width,
  //       // mainAxisAlignment: MainAxisAlignment.start,
  //       onChanged: (value) {
  //         onChanged.call(value);
  //       },
  //       child: Container(
  //         padding: EdgeInsets.symmetric(horizontal: 10.w, vertical: 12.w),
  //         decoration: BoxDecoration(
  //             border: Border(
  //                 bottom: BorderSide(
  //                     color: AppColor.textPrimary.withOpacity(0.15), width: 1)),
  //             color: Colors.black.withOpacity(0.3),
  //             borderRadius: BorderRadius.circular(8.w)),
  //         child: Row(
  //           children: [
  //             Expanded(
  //                 child: Text(
  //               value,
  //               style: TextStyle(
  //                 fontSize: 14.sp,
  //                 fontWeight: FontWeight.w900,
  //                 color: btnColor ?? AppColor.textPrimary.withOpacity(0.94),
  //               ),
  //             )),
  //             AutoImage(
  //               Assets.promotionCommissionCaretDown,
  //               width: 16.w,
  //             )
  //           ],
  //         ),
  //       ));
  // }
}
